// pages/orderDetails/orderDetails.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isFinsh:true,//判断骑手是否已经点击了送达
    ordervo:{},
    taskImageurl:{},
  },
  // 执行打开地图函数
  openMap(){
    wx.showToast({
      title: '打开地图',
      icon: 'success',
      duration: 2000
    }) 
  },
  // 点击了联系用户后，直接弹出用户电话，调用骑手通讯录
  // 拨打电话
  makeCall(e) {
    // 获取绑定的电话号码  我这里的电话号是绝对正确的，如果绑定的电话号码有可能不正确建议判断一下
    console.log(e.currentTarget.dataset.contact);
    var phone = e.currentTarget.dataset.contact
    // 调用微信的拨打电话API 安卓直接跳转到手机拨号页面  苹果要用户点击同意才跳转
    wx.makePhoneCall({
      phoneNumber: phone,
    })
  },
  // openPhoneNumber(){
  //   wx.showToast({
  //     title: '给客户打电话',
  //     icon: 'success',
  //     duration: 2000
  //   }) 
  // },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取小程序实例
    const app = getApp();
    // 获取全局变量
    const globalUrl = app.globalData.globalUrl;
    const userInfo = wx.getStorageSync('UserData');
    const order = wx.getStorageSync('order');
    wx.request({
      url: globalUrl+'/user/order/selectOneByUserId',
      method: 'GET',
      header: {
        "token": userInfo.token,
      },
      data: {
        orderid:order.orderId
      },
      success: (response) => {
        if(response.data.code === 200){ //成功添加地址列表到数据库
          console.log(response.data.data)
          this.setData({
            ordervo:response.data.data,
            taskImageurl: JSON.parse(response.data.data.taskImageUrl)
          })
          this.setData({
            "ordervo.taskStartTime": this.formatDate(response.data.data.taskStartTime),
            "ordervo.orderCreateTime": this.formatDate(response.data.data.orderCreateTime),
          })
          console.log("获取到的数据为：",this.data.ordervo);
        }else if(response.data.code === 401){
          wx.showToast({
            title: '您还没有登录，请先登录',
            icon: 'none'
          })
        }else{
          wx.showToast({
            title: '您的网络有差异请稍后尝试！',
            icon: 'none'
          })
        }
      },
    });
    console.log("执行饿了")

  },

  //点击了送达按钮
  servedBut(){
    // 获取小程序实例
    const app = getApp();
    // 获取全局变量
    const globalUrl = app.globalData.globalUrl;
    const userInfo = wx.getStorageSync('UserData');
    console.log("订单ID为：",this.data.ordervo.orderId)
    console.log("任务ID为：",this.data.ordervo.taskId)
    wx.request({
      url: globalUrl+'/user/order/served',
      method: 'POST',
      header: {
        "token": userInfo.token,
      },
      data: {
        orderid:this.data.ordervo.orderId,
        taskid:this.data.ordervo.taskId
      },
      success: (response) => {
        if(response.data.code === 200){ 
          console.log(response.data.data)
          console.log("获取到的数据为：",this.data.ordervo);
          this.setData({
            isFinsh:false
          })
          wx.showToast({
            title: '已经送达，请等待用户确认收货',
            icon: 'none',
            success: function() {
              // 在成功回调函数中执行返回操作
              setTimeout(function() {
                wx.navigateBack({
                  delta: 2 // 返回两级页面
                });
              }, 1000);
            }
          })       
        }else if(response.data.code === 401){
          wx.showToast({
            title: '您还没有登录，请先登录',
            icon: 'none'
          })
        }else if(response.data.code === 409){
          wx.showToast({
            title: '您不是该订单的骑手，无法送达',
            icon: 'none'
          })
        }else{
          wx.showToast({
            title: '您的网络有差异请稍后尝试！',
            icon: 'none'
          })
        }
      },
    });

  },
  //点击了取消按钮
  cancelBut(){

  },

    // 点击指定图片 完成预览
    previewImage: function (e) {
      // 自定义元素获取信息,获取当前点击的位置的控件的src的路径值
      const currentImage = e.currentTarget.dataset.src;
      //通过获取到的路径值,实现图片预览
      wx.previewImage({
        current: currentImage,
        urls: this.data.taskImageurl
      });
    },
    formatDate: function(dateString) {
      const date = new Date(dateString);
      const year = date.getFullYear();
      const month = (date.getMonth() + 1).toString().padStart(2, '0');
      const day = date.getDate().toString().padStart(2, '0');
      const hours = date.getHours().toString().padStart(2, '0');
      const minutes = date.getMinutes().toString().padStart(2, '0');
      const seconds = date.getSeconds().toString().padStart(2, '0');
      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
    }

})